package com.lavender.extention.extention_interface;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

/**
 * <p>
 * BeanPostProcessor
 * 一：作用
 * Bean的后置处理器，Spring容器完成Bean的实例化，配置和其他的初始化后添加一些自己的逻辑处理。
 *
 * postProcessBeforeInitialization：
 * 任何Bean初始化回调（例如InitializingBean的afterPropertiesSet或自定义init-method）之前，将此BeanPostProcessor应用于给定的新bean实例。
 * 该Bean将已经用属性值填充，返回的Bean实例可能是包装Bean。
 *
 * postProcessAfterInitialization：
 * 任何Bean初始化回调（例如InitializingBean的afterPropertiesSet或自定义init-method）之后，将此BeanPostProcessor应用于给定的新bean实例。
 * 该bean将已经用属性值填充，返回的Bean实例可能是包装Bean。
 *
 * 补充：
 * instantiation：表示实例化，例如：Student student = new Student()。
 * initialization：表示初始化，例如：要给已经创建好的student对象的某些属性赋值。
 *
 * </p>
 *
 * @author: zhu.chen
 * @date: 2020/12/23
 * @version: v1.0.0
 */
public class BeanPostProcessorTest implements BeanPostProcessor {

    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return null;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return null;
    }

}
